﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class UndoRedoSystem
   </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class UndoRedoSystem
   ">
    <meta name="generator" content="docfx 2.56.4.0">
    
    <link rel="shortcut icon" href="../favicon.ico">
    <link rel="stylesheet" href="../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../styles/docfx.css">
    <link rel="stylesheet" href="../styles/main.css">
    <meta property="docfx:navrel" content="../toc.html">
    <meta property="docfx:tocrel" content="toc.html">
    
    
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../index.html">
                <img id="logo" class="svg" src="../logo.svg" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="CADability.UndoRedoSystem">
  
  
  <h1 id="CADability_UndoRedoSystem" data-uid="CADability.UndoRedoSystem" class="text-break">Class UndoRedoSystem
  </h1>
  <div class="markdown level0 summary"><p>The undo/redo sytem usually exists as a member in the <a class="xref" href="CADability.Project.html">Project</a> and is accessed
via <a class="xref" href="CADability.Project.html#CADability_Project_Undo">Undo</a>. The project handles the menu commands &quot;MenuId.Edit.Undo&quot;
and &quot;&quot;MenuId.Edit.Redo&quot; and calls <a class="xref" href="CADability.UndoRedoSystem.html#CADability_UndoRedoSystem_UndoLastStep">UndoLastStep()</a> rsp. <a class="xref" href="CADability.UndoRedoSystem.html#CADability_UndoRedoSystem_RedoLastStep">RedoLastStep()</a>.
To add a step to the undo system call <a class="xref" href="CADability.UndoRedoSystem.html#CADability_UndoRedoSystem_AddUndoStep_CADability_ReversibleChange_">AddUndoStep(ReversibleChange)</a></p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><span class="xref">UndoRedoSystem</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <span class="xref">System.Object.Equals(System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetHashCode()</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
    <div>
      <span class="xref">System.Object.MemberwiseClone()</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.ToString()</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="CADability.html">CADability</a></h6>
  <h6><strong>Assembly</strong>: CADability.dll</h6>
  <h5 id="CADability_UndoRedoSystem_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class UndoRedoSystem</code></pre>
  </div>
  <h3 id="fields">Fields
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem_isRedoing.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem.isRedoing%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L43">View Source</a>
  </span>
  <h4 id="CADability_UndoRedoSystem_isRedoing" data-uid="CADability.UndoRedoSystem.isRedoing">isRedoing</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool isRedoing</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem_MaxUndoSteps.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem.MaxUndoSteps%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L258">View Source</a>
  </span>
  <a id="CADability_UndoRedoSystem_MaxUndoSteps_" data-uid="CADability.UndoRedoSystem.MaxUndoSteps*"></a>
  <h4 id="CADability_UndoRedoSystem_MaxUndoSteps" data-uid="CADability.UndoRedoSystem.MaxUndoSteps">MaxUndoSteps</h4>
  <div class="markdown level1 summary"><p>Set or get the maximum number of undo steps that will be kept in the undo stack.
When setting this value the undo stack will be cleared.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int MaxUndoSteps { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem_UndoFrame.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem.UndoFrame%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L386">View Source</a>
  </span>
  <a id="CADability_UndoRedoSystem_UndoFrame_" data-uid="CADability.UndoRedoSystem.UndoFrame*"></a>
  <h4 id="CADability_UndoRedoSystem_UndoFrame" data-uid="CADability.UndoRedoSystem.UndoFrame">UndoFrame</h4>
  <div class="markdown level1 summary"><p>Opens an undo frame, which means that all subsequent calls to AddUndoStep
will be considered as a single undo step. Calling UndoLastStep  or selecting
Undo from the Menu will undo all this
steps as a single step. Use the C# &quot;using&quot; construct, since this property
supports the IDisposable interface, which closes the undoframe when Dispose
is called.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public IDisposable UndoFrame { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.IDisposable</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem_AddUndoStep_CADability_ReversibleChange_.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem.AddUndoStep(CADability.ReversibleChange)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L348">View Source</a>
  </span>
  <a id="CADability_UndoRedoSystem_AddUndoStep_" data-uid="CADability.UndoRedoSystem.AddUndoStep*"></a>
  <h4 id="CADability_UndoRedoSystem_AddUndoStep_CADability_ReversibleChange_" data-uid="CADability.UndoRedoSystem.AddUndoStep(CADability.ReversibleChange)">AddUndoStep(ReversibleChange)</h4>
  <div class="markdown level1 summary"><p>Adds an undo step to the undo stack.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void AddUndoStep(ReversibleChange step)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.ReversibleChange.html">ReversibleChange</a></td>
        <td><span class="parametername">step</span></td>
        <td><p>the step</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem_CanRedo.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem.CanRedo%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L340">View Source</a>
  </span>
  <a id="CADability_UndoRedoSystem_CanRedo_" data-uid="CADability.UndoRedoSystem.CanRedo*"></a>
  <h4 id="CADability_UndoRedoSystem_CanRedo" data-uid="CADability.UndoRedoSystem.CanRedo">CanRedo()</h4>
  <div class="markdown level1 summary"><p>Returns true, if there is a step on the redo stack</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool CanRedo()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem_CanUndo.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem.CanUndo%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L332">View Source</a>
  </span>
  <a id="CADability_UndoRedoSystem_CanUndo_" data-uid="CADability.UndoRedoSystem.CanUndo*"></a>
  <h4 id="CADability_UndoRedoSystem_CanUndo" data-uid="CADability.UndoRedoSystem.CanUndo">CanUndo()</h4>
  <div class="markdown level1 summary"><p>Returns true, if there is a step on the undo stack</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool CanUndo()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem_Clear.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem.Clear%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L247">View Source</a>
  </span>
  <a id="CADability_UndoRedoSystem_Clear_" data-uid="CADability.UndoRedoSystem.Clear*"></a>
  <h4 id="CADability_UndoRedoSystem_Clear" data-uid="CADability.UndoRedoSystem.Clear">Clear()</h4>
  <div class="markdown level1 summary"><p>Remove all undo and redo actions from the action stack.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void Clear()</code></pre>
  </div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem_ClearContext.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem.ClearContext%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L74">View Source</a>
  </span>
  <a id="CADability_UndoRedoSystem_ClearContext_" data-uid="CADability.UndoRedoSystem.ClearContext*"></a>
  <h4 id="CADability_UndoRedoSystem_ClearContext" data-uid="CADability.UndoRedoSystem.ClearContext">ClearContext()</h4>
  <div class="markdown level1 summary"><p>After several changes &quot;using contextFrame&quot; you can reset the context so that the following
changes with the same context generate a new undo step.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void ClearContext()</code></pre>
  </div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem_CloseUndoFrame_System_Object_.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem.CloseUndoFrame(System.Object)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L416">View Source</a>
  </span>
  <a id="CADability_UndoRedoSystem_CloseUndoFrame_" data-uid="CADability.UndoRedoSystem.CloseUndoFrame*"></a>
  <h4 id="CADability_UndoRedoSystem_CloseUndoFrame_System_Object_" data-uid="CADability.UndoRedoSystem.CloseUndoFrame(System.Object)">CloseUndoFrame(Object)</h4>
  <div class="markdown level1 summary"><p>Closes the previously opened undo frame. See <a class="xref" href="CADability.UndoRedoSystem.html#CADability_UndoRedoSystem_OpenUndoFrame">OpenUndoFrame()</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void CloseUndoFrame(object UndoFrame)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Object</span></td>
        <td><span class="parametername">UndoFrame</span></td>
        <td><p>the result from OpenUndoFrame</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem_ContextFrame_System_Object_.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem.ContextFrame(System.Object)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L88">View Source</a>
  </span>
  <a id="CADability_UndoRedoSystem_ContextFrame_" data-uid="CADability.UndoRedoSystem.ContextFrame*"></a>
  <h4 id="CADability_UndoRedoSystem_ContextFrame_System_Object_" data-uid="CADability.UndoRedoSystem.ContextFrame(System.Object)">ContextFrame(Object)</h4>
  <div class="markdown level1 summary"><p>All calls to <a class="xref" href="CADability.UndoRedoSystem.html#CADability_UndoRedoSystem_AddUndoStep_CADability_ReversibleChange_">AddUndoStep(ReversibleChange)</a> that appeare inside the same context are
considered to belong to the same action and override the previous call from the
same context. So only the last call will be saved in the undo stack. Use ContextFrame with the C# &quot;using&quot; schema
or call IDisposable.Dispose() to close the frame.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public IDisposable ContextFrame(object context)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Object</span></td>
        <td><span class="parametername">context</span></td>
        <td><p>any kind of object</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.IDisposable</span></td>
        <td><p>the IDisposable interface for the using schema</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem_IgnoreLastStep.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem.IgnoreLastStep%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L319">View Source</a>
  </span>
  <a id="CADability_UndoRedoSystem_IgnoreLastStep_" data-uid="CADability.UndoRedoSystem.IgnoreLastStep*"></a>
  <h4 id="CADability_UndoRedoSystem_IgnoreLastStep" data-uid="CADability.UndoRedoSystem.IgnoreLastStep">IgnoreLastStep()</h4>
  <div class="markdown level1 summary"><p>The top undostep on the undo stack will be ignored.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IgnoreLastStep()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>success: true, failure: false</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem_OpenUndoFrame.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem.OpenUndoFrame%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L399">View Source</a>
  </span>
  <a id="CADability_UndoRedoSystem_OpenUndoFrame_" data-uid="CADability.UndoRedoSystem.OpenUndoFrame*"></a>
  <h4 id="CADability_UndoRedoSystem_OpenUndoFrame" data-uid="CADability.UndoRedoSystem.OpenUndoFrame">OpenUndoFrame()</h4>
  <div class="markdown level1 summary"><p>Opens an undo frame: all subsequent calls to <a class="xref" href="CADability.UndoRedoSystem.html#CADability_UndoRedoSystem_AddUndoStep_CADability_ReversibleChange_">AddUndoStep(ReversibleChange)</a> are considered
as a single undo step until <a class="xref" href="CADability.UndoRedoSystem.html#CADability_UndoRedoSystem_CloseUndoFrame_System_Object_">CloseUndoFrame(Object)</a> is being called. You can use
the property <a class="xref" href="CADability.UndoRedoSystem.html#CADability_UndoRedoSystem_UndoFrame">UndoFrame</a> instead. UndoFrames may be nested.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public object OpenUndoFrame()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Object</span></td>
        <td><p>an object that will be needed for the corresponding CloseUndoFrame call.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem_PeekLastRedoStep.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem.PeekLastRedoStep%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L236">View Source</a>
  </span>
  <a id="CADability_UndoRedoSystem_PeekLastRedoStep_" data-uid="CADability.UndoRedoSystem.PeekLastRedoStep*"></a>
  <h4 id="CADability_UndoRedoSystem_PeekLastRedoStep" data-uid="CADability.UndoRedoSystem.PeekLastRedoStep">PeekLastRedoStep()</h4>
  <div class="markdown level1 summary"><p>Returns the next redo command if there are any. This will be either a ReversibleChange object
or a untyped ArrayList. Returns null if there are no redosteps available</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public object PeekLastRedoStep()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Object</span></td>
        <td><p>The next undo command</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem_PeekLastUndoStep.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem.PeekLastUndoStep%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L223">View Source</a>
  </span>
  <a id="CADability_UndoRedoSystem_PeekLastUndoStep_" data-uid="CADability.UndoRedoSystem.PeekLastUndoStep*"></a>
  <h4 id="CADability_UndoRedoSystem_PeekLastUndoStep" data-uid="CADability.UndoRedoSystem.PeekLastUndoStep">PeekLastUndoStep()</h4>
  <div class="markdown level1 summary"><p>Returns the next undo command if there are any. This will be either a ReversibleChange object
or a untyped ArrayList. Returns null if there are no undosteps available</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public object PeekLastUndoStep()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Object</span></td>
        <td><p>The next undo command</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem_RedoLastStep.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem.RedoLastStep%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L299">View Source</a>
  </span>
  <a id="CADability_UndoRedoSystem_RedoLastStep_" data-uid="CADability.UndoRedoSystem.RedoLastStep*"></a>
  <h4 id="CADability_UndoRedoSystem_RedoLastStep" data-uid="CADability.UndoRedoSystem.RedoLastStep">RedoLastStep()</h4>
  <div class="markdown level1 summary"><p>Executes the redo of the last step. Ususlly called by the project when handling the &quot;MenuId.Edit.Redo&quot; command.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool RedoLastStep()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>success: true, failure: false</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem_UndoLastStep.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem.UndoLastStep%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L274">View Source</a>
  </span>
  <a id="CADability_UndoRedoSystem_UndoLastStep_" data-uid="CADability.UndoRedoSystem.UndoLastStep*"></a>
  <h4 id="CADability_UndoRedoSystem_UndoLastStep" data-uid="CADability.UndoRedoSystem.UndoLastStep">UndoLastStep()</h4>
  <div class="markdown level1 summary"><p>Executes the undo of the last step. Ususlly called by the project when handling the &quot;MenuId.Edit.Undo&quot; command.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool UndoLastStep()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>success: true, failure: false</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="events">Events
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem_BeginContinousChangesEvent.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem.BeginContinousChangesEvent%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L468">View Source</a>
  </span>
  <h4 id="CADability_UndoRedoSystem_BeginContinousChangesEvent" data-uid="CADability.UndoRedoSystem.BeginContinousChangesEvent">BeginContinousChangesEvent</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public event UndoRedoSystem.BeginContinousChangesDelegate BeginContinousChangesEvent</code></pre>
  </div>
  <h5 class="eventType">Event Type</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.UndoRedoSystem.BeginContinousChangesDelegate.html">UndoRedoSystem.BeginContinousChangesDelegate</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem_ClosingUndoFrameEvent.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem.ClosingUndoFrameEvent%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L473">View Source</a>
  </span>
  <h4 id="CADability_UndoRedoSystem_ClosingUndoFrameEvent" data-uid="CADability.UndoRedoSystem.ClosingUndoFrameEvent">ClosingUndoFrameEvent</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public event UndoRedoSystem.ClosingUndoFrameDelegate ClosingUndoFrameEvent</code></pre>
  </div>
  <h5 class="eventType">Event Type</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.UndoRedoSystem.ClosingUndoFrameDelegate.html">UndoRedoSystem.ClosingUndoFrameDelegate</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem_EndContinousChangesEvent.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem.EndContinousChangesEvent%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L469">View Source</a>
  </span>
  <h4 id="CADability_UndoRedoSystem_EndContinousChangesEvent" data-uid="CADability.UndoRedoSystem.EndContinousChangesEvent">EndContinousChangesEvent</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public event UndoRedoSystem.EndContinousChangesDelegate EndContinousChangesEvent</code></pre>
  </div>
  <h5 class="eventType">Event Type</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.UndoRedoSystem.EndContinousChangesDelegate.html">UndoRedoSystem.EndContinousChangesDelegate</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem_OpeningUndoFrameEvent.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem.OpeningUndoFrameEvent%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L472">View Source</a>
  </span>
  <h4 id="CADability_UndoRedoSystem_OpeningUndoFrameEvent" data-uid="CADability.UndoRedoSystem.OpeningUndoFrameEvent">OpeningUndoFrameEvent</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public event UndoRedoSystem.OpeningUndoFrameDelegate OpeningUndoFrameEvent</code></pre>
  </div>
  <h5 class="eventType">Event Type</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.UndoRedoSystem.OpeningUndoFrameDelegate.html">UndoRedoSystem.OpeningUndoFrameDelegate</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <div class="contribution">
                <ul class="nav">
                  <li>
                    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_UndoRedoSystem.md&amp;value=---%0Auid%3A%20CADability.UndoRedoSystem%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
                  </li>
                  <li>
                    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/UndoRedoSystem.cs/#L24" class="contribution-link">View Source</a>
                  </li>
                </ul>
              </div>
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
                <h5>In This Article</h5>
                <div></div>
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            
            <span>Generated by <strong>DocFX</strong></span>
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
    <script type="text/javascript" src="../styles/main.js"></script>
  </body>
</html>
